package cmd

import (
	"gitee.com/liumou_site/glbm"
	"gitee.com/liumou_site/logger"
	"os"
	"runtime"
)

// CheckRootPermission 检查是否为管理员权限
func CheckRootPermission() bool {
	// Windows平台特殊处理
	if runtime.GOOS == "windows" {
		// Windows平台检查管理员权限
		return true // Windows下暂时允许运行，实际项目中可以使用Windows API检查管理员权限
	}
	
	// Linux平台检查root权限
	info, err := glbm.GetUserInfo()
	if err != nil {
		logger.Error("获取用户信息失败: %v", err)
		return false
	}
	
	if info.Username != "root" && info.Uid != "0" {
		logger.Error("当前用户不是root用户，请使用root用户运行本程序")
		return false
	}
	
	return true
}

// CheckSystemRequirements 检查系统要求
func CheckSystemRequirements() bool {
	// 在Windows平台上跳过权限检查，直接返回true
	if runtime.GOOS == "windows" {
		return true
	}
	
	// 其他平台保持原有逻辑
	if !CheckRootPermission() {
		os.Exit(1)
		return false
	}
	return true
}